<?php
/********************************************************/
/*Nombre: clsView										*/
/*Objetivo:	Clase que sirve el manejo de las vistas y  	*/
/*          la informacion enviada a estas			 	*/
/*			 											*/
/*Métodos:												*/
/*			--show($name,$parrVar)						*/
/*														*/
/*														*/
/*creado: 23/marzo/2010									*/
/*														*/
/********************************************************/
class clsView
{
	function __construct()
	{
	}
/********************************************************/
/*Metodo m_show     									*/
/*Objetivo:	Procesa la peticion para mostrar una vista	*/
/*          junto con sus datos	para la vista			*/
/*														*/
/*														*/
/*Creado: 23/marzo/2010									*/
/*														*/
/********************************************************/
	public function m_show($psName, $parrVars = array())
	{
		//$psName es el nombre de nuestra plantilla, por ej, listado.php
		//$parrVar es el contenedor de nuestras variables, es un arreglo del tipo llave => valor, opcional.
 
		//Traemos una instancia de nuestra clase de configuracion.
		$objConfig = clsConfig::m_singleton();
 
		//Armamos la ruta a la plantilla
		$path = $objConfig->m_get('vistas') . $psName;
 //echo $path;
		//Si no existe el fichero en cuestion, tiramos un 404
		if (file_exists($path) == false)
		{
			trigger_error ('no existe la vista correspondientes a  `' . $path . '`', E_USER_NOTICE);
			return false;
		}
 
		//Si hay variables para asignar, las pasamos una a una.
		if(is_array($parrVars))
		{
                    foreach ($parrVars as $key => $value)
                    {
                	$$key = $value;
                    }
                }
 
		//Finalmente, incluimos la plantilla.
		include($path);
	}
}
/*
 El uso es bastante sencillo:
 $vista = new View();
 $vista->show('listado.php', array("nombre" => "Juan"));
*/
?>